const install = (Vue, vm) => {
		Vue.prototype.$u.http.setConfig({
			baseUrl: 'http://localhost:8081', // 请求的本域名
			method: 'POST',
			// 设置为json，返回后会对数据进行一次JSON.parse()
			dataType: 'json',
			showLoading: true, // 是否显示请求中的loading
			loadingText: '加载中...', // 请求loading中的文字提示
			loadingTime: 500, // 在此时间内，请求还没回来的话，就显示加载中动画，单位ms 
			originalData: true, // 是否在拦截器中返回服务端的原始数据
			loadingMask: true, // 展示loading的时候，是否给一个透明的蒙层，防止触摸穿透
			// 配置请求头信息
			// header: {
			// 	// 'content-type': 'multipart/form-data'
			// 	token:''
			// },
			
		});
		// 请求拦截，配置Token等参数
		Vue.prototype.$u.http.interceptor.request = (config) => {
			// 引用token
			const token = uni.getStorageSync('token');
			config.header.token = token;
			
			// 全局存储用户手机号
			// const moblie = uni.getStorageSync('mobile');
			// config.header.mobile = moblie;
			
			// 可以对某个url进行特别处理，此url参数为this.$u.get(url)中的url值
			// if(config.url == '/login/login') config.header.noToken = true;
			// 最后需要将config进行return
			return config;
			// 如果return一个false值，则会取消本次请求
			// if(config.url == '/user/rest') return false; // 取消某次请求
		}
		
		// 响应拦截，判断状态码是否通过
		Vue.prototype.$u.http.interceptor.response = (res) => {
			// console.log(res.data);
			if (res.data.code === 1) {
				// console.log('result',res.data)
				if (res.data.data && res.data.data.userinfo) { 	// 判断是否为登录操作，获取token的值
					uni.setStorageSync('token',res.data.data.userinfo.token);
					// console.log(uni.getStorageSync('token'))	
				}
				return res.data;
			}
			// 是否为第一次注册
			if (res.data.code === 2) {
				if (res.data.data && res.data.data.userinfo) { 	// 判断是否为登录操作，获取token的值
					uni.setStorageSync('token',res.data.data.userinfo.token);
					// console.log(uni.getStorageSync('token'))	
				}
				return res.data;
			}
			// 错误提示
			if (res.data.code == 0) {
				vm.$u.toast(res.data.msg)
				return false
			}
			// 未登录跳转登录
			if (res.statusCode == 408) {
				vm.$u.toast('未登录，请重新登录');
				setTimeout(() => {
					vm.$u.route('/pages/components/login/login')
				}, 500)
				return false
			}
		}
			
}
export default {
	install
}		